ヘッダーをスキップ
Oracle TimesTen In-Memory Database C開発者およびリファレンス・ガイド
リリース7.0
E05164-03
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

ttUtilGetError

説明

TimesTenユーティリティ・ライブラリ関数(ttUtilAllocEnvおよびttUtilFreeEnvを除く)への最後のコールによって生成されたエラーまたは警告(あるいはその両方)を取得します。

構文

ttUtilGetError (ttUtilHandle handle, unsigned int errIndex,

               unsigned int *retCode, ttUtilErrType *retType,

               char *errbuff, unsigned int buffLen,

                unsigned int *errLen);

パラメータ

ttUtilGetError には、次のパラメータがあります。

パラメータ
説明
handle
ttUtilHandle
ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。
errIndex
unsigned int
TimesTenユーティリティ・ライブラリ・エラー配列から取得するエラー/警告レコードを指定します。有効な値は、次のとおりです。
0: ユーティリティ・ライブラリ・エラー配列から次のレコードを取得します。
l..n: ユーティリティ・ライブラリ・エラー配列から特定のレコードを取得します。nttUtilGetErrorCountコールによって返されるエラー・カウントです。
retCode
unsigned int*
TimesTen固有のエラー/警告コード(tt_errCode.hで定義されています)を返します。
retType
ttUtilErrType*
返されたメッセージがエラーまたは警告のいずれであるかを示します。有効な値は、次のとおりです。
TTUTIL_ERROR
TTUTIL_WARNING
errBuff
char *
エラー・メッセージがある場合に返される、ユーザーが割り当てるバッファ。返されるエラー・メッセージはヌル終端文字列です。エラー・メッセージは、その長さがbuffLen-1を超えると、buffLen-1に切り捨てられます。このパラメータがNULLの場合、buffLenは無視され、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。
buffLen
unsigned int
バッファerrBuffのサイズを指定します。このパラメータが0(ゼロ)の場合、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。
errLen
unsigned int *
エラー・メッセージの実際の長さが返される、符号なし整数へのポインタ。NULLの場合、このパラメータは無視されます。

リターン・コード

ttUtilGetErrorは、次のコード(ttutillib.hで定義されています)を返します。

コード
説明

TTUTIL_SUCCESS

成功時に返します。

TTUTIL_INVALID_HANDLE

無効なユーティリティ・ライブラリ・ハンドルが指定されている場合に返します。

TTUTIL_NODATA

エラー情報も警告情報も取得されない場合に返します。

payrollというDSNに対して、ttDestroyDataStoreをコールした後にすべてのエラー情報または警告情報を取得するには、次のように入力します。

char            errBuff[256];

int             rc;

unsigned int    retCode;

ttUtilErrType   retType;

ttUtilHandle    utilHandle;

rc = ttDestroyDataStore (utilHandle, "DSN=PAYROLL", 30);

if ((rc == TTUTIL_SUCCESS)
    printf ("Datastore payroll successfully destroyed.\n");

else if (rc == TTUTIL_INVALID_HANDLE)

    printf ("TimesTen utility library handle is invalid.\n");

else

    while ((rc = ttUtilGetError (utilHandle, 0,

        &retCode, &retType, errBuff, sizeof (errBuff),

        NULL)) != TTUTIL_NODATA)

{

...............

...............

}

注意

各TimesTenユーティリティ・ライブラリ関数は、アプリケーションからの1回のコールで、複数のエラーおよび警告を生成する可能性があります。これらのエラーおよび警告のすべてを取得するには、TTUTIL_NODATAが返されるまで、アプリケーションでttUtilGetErrorを繰り返しコールする必要があります。

参照

ttUtilAllocEnv
ttUtilFreeEnv
ttUtilGetErrorCount